[Report]Running containerized workloads on AWS Graviton–based instances#Chalk Talk #reinvent
Hello, I'm Aayush Jain
This Time at Reinvent session held from November 28 to December 2nd, 2022, " - " I've attended a Chalk talk so I'll report.on containerized workload on graviton instance
Session Overview
This is a Chalk Talk about "Running containerized workloads on AWS Graviton–based instances".
Containers are the easiest way to take advantage of AWS Graviton’s unparalleled price performance. In this chalk talk, learn how to build, test, and deploy containers for AWS Graviton using a multi-architecture approach that allows you the maximum flexibility to deploy anywhere on AWS with Amazon ECS, Amazon EKS, and AWS Fargate. The talk also provides techniques to help you migrate your existing containers to AWS Graviton.
Speakers
Session Level
400 - Expert
Session type
Chalk Talk
Report
What is AWS Graviton-based instances ?
AWS Graviton is a type of processor specifically designed to run workloads on AWS. It is based on the Arm architecture, a type of RISC (Reduced Instruction Set Computing) architecture designed to be efficient and scalable. AWS Graviton-based instances are designed to provide high-performance, cost-effective computing for a variety of workloads, including web and application servers, game servers, and high-performance computing (HPC) applications. These instances are available in a variety of sizes, from small to large, to meet the needs of different workloads.
Why AWS graviton ?
Wide range of sizes:
AWS Graviton-based instances are available in a wide range of sizes, from small to large, to meet the needs of different workloads. This means that you can choose the instance size that is right for your particular workload and scale up or down as needed.
Customer story:
I use snapchat daily and Mr. Seth showed how snap inc is using graviton and reducing costs by moving to a graviton based instance.
Techniques to help you migrate your existing containers to AWS Graviton
There are several techniques that you can use to help you migrate your existing containers to AWS Graviton-based instances. Some of these techniques include:
- Use multi-architecture manifests: As mentioned earlier, a multi-architecture manifest is a manifest file that is used to define a Docker image that can be run on multiple architectures. By using a multi-architecture manifest, you can create a single Docker image that can be run on both x86 and Arm architectures, which will allow you to migrate your existing containers to AWS Graviton-based instances without the need to rebuild your images.
- A multi-architecture build pipeline is a process for building and deploying software that runs on multiple architectures, such as x86 and Arm. Multi-architecture build pipelines combine continuous integration (CI) and continuous delivery (CD) tools to build software for multiple architectures in parallel. This allows developers to create a single build process that can produce deliverables for multiple architectures without the need to maintain separate build processes for each architecture.
- AWS Elastic Container Service (ECS) is a fully managed container orchestration service that allows you to run, manage and scale containers on AWS ECS makes it easy to migrate existing containers to AWS Graviton-based instances by specifying the instance types required for ECS tasks and service definitions ECS automatically launches the required number of Graviton instances and stores containers in placed on these instances.
Questions and Answers:
Q : what is the architecture of graviton
Ans: 64 cores full mesh no numa "non uniform memory architecture" with no Symmetric multi-threading
Q: do i need to use node affinity to multi-architecture
Ans: Node affinity is a technique that is used in container orchestration to specify the conditions under which a particular container should be scheduled on a particular node (i.e., a physical or virtual machine) in a cluster. Node affinity is typically used to ensure that a container is placed on a node that meets certain requirements, such as having the required hardware or software resources. In the context of multi-architecture environments, you may need to use node affinity to ensure that a container is placed on a node that has the desired architecture.
Q. .net core runs on Arm64
Ans: it runs
Q: i want to migrate to graviton but i don't know if our depedency ready for
Ans: Instead of migrating the entire load directly to GRAVITON, test with a small load and migrate gradually.
Q: when i should not use graviton?
Ans: when your workload only scale vertically and your workload dont benifits form HPC
Summary
Overall, a multi-architecture manifest, AWS CLI or AWS SDK, and AWS ECS can simplify the process of migrating existing containers to AWS Graviton-based instances. These tools and services can help automate the process and facilitate the management and scaling of containers on these instances. Graviton instances are fast and integrate well with AWS, so we would definitely consider using Graviton-based instances.